home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 1 (Walnut Creek)
/
Aminet - June 1993 [Walnut Creek].iso
/
usenet
/
sources
/
volume90
/
aplictns
/
xscheme2
/
part01
/
README.mwh2
< prev
next >
Wrap
Text File
|
1990-04-14
|
3KB
|
101 lines
Hi there fellow Amiga Schemers!
Here is the XScheme I downloaded from the MIPS Magazine's BBS. I got
amistuff.c from XLisp2.0's amigastuff.c file. About the only changes I
made here involved changing MS-DOS's EOF character from ^Z (control-Z)
to the Amiga's ^\ (control-\) and changing the tab stops from every
eight columns to every four.
I also modified what was needed to get this version (0.20) of XScheme
to compile under Manx 3.6. The makefile is intended for Manx's Make
program although it's simple enough that almost any make in the world
could use it.
Here are some problems that I've encountered so far:
The first one looks like some kind of unsigned/signed extension
problem with the 68000 byte-ordering. Remember, XScheme was originally
written for 80x86 which has a different byte-ordering.
1] > (list->string '(#\A #\b #\C #\?))
"AbC\37777777662" but it should produce "AbC?"
> #\?
#\?
>
2] (transcript-on "file.nam") doesn't work!!!
3] Not a problem with XScheme itself but the some of the bogus
'881 assembler code generated by the Manx C compiler.
If you use the -A option (don't assemble) when compiling
XSMATH.C then you'll get the assembler output from the C
compiler. It is this that you can edit manually and assemble
after changing the following lines according to the sample
change given thereafter.
Aztec 68000 Assembler 3.6a 12-18-87
sin.l d0
^
File xsmath.s; Line 1571 # Unknown opcode or directive.
cos.l d0
^
File xsmath.s; Line 1583 # Unknown opcode or directive.
tan.l d0
^
File xsmath.s; Line 1591 # Unknown opcode or directive.
asin.l d0
^
File xsmath.s; Line 1599 # Unknown opcode or directive.
acos.l d0
^
File xsmath.s; Line 1607 # Unknown opcode or directive.
atan.l d0
^
File xsmath.s; Line 1615 # Unknown opcode or directive.
etox.l d0
^
File xsmath.s; Line 1623 # Unknown opcode or directive.
logn.l d0
^
File xsmath.s; Line 1631 # Unknown opcode or directive.
sqrt.l d0
^
File xsmath.s; Line 1642 # Unknown opcode or directive.
9 errors
Around the aforementioned errors you'll see code something
like this:
move.l -12(a5),d0
sin.l d0
fmove.l d0,fp0
Change that to this:
fsin.l -12(a5),fp0
Heck, I'll tell you what... I'll include an '881 version of XScheme
along with the assembly language source code PLUS I'll even give you the
patched assembler output. Naturally, this is for you folks with an
68020/'881 combination. How's that for service? :-)
4] Remember to set the system stack to something appropriate. I was
running into problems with munching lists of 360 floats and my stack
was set at 20000. Enlarging it to 65000 ``seemed'' to fix my
problems.
Rusty Haddock
US Snail: 8719 Contee Rd. Apt. #103
Laurel, Maryland
USA 20708-1907
USENET: uunet!mimsy!fe2o3!rusty
INTERNET: rusty%fe2o3@mimsy.umd.edu